linux下安装php的imagick扩展模块(附php升级脚本)

您所在的位置:网站首页 linux php8 扩展目录 linux下安装php的imagick扩展模块(附php升级脚本)

linux下安装php的imagick扩展模块(附php升级脚本)

2024-06-26 11:06:54| 来源: 网络整理| 查看: 265

 

imagick是一个PHP扩展,是一套软件系列,用ImageMagick提供API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,最终调用的是ImageMagick提供的APIImageMagick主要用于图片的创建、编辑以及转换等,ImageMagick与GD的性能要高很多,如果是在处理大量的图片时更加能体现ImageMagick的性能。

下面介绍下安装php的imagick扩展模块的方法:

1)下载软件下载ImageMagick.tar.gz:https://www.imagemagick.org/download/下载imagick-3.1.0RC1.tgz: http://pan.baidu.com/s/1hsHiEUg (提取密码:dqu2)

一、安装php的imagick扩展模块第一种方法:(pcel安装imagick)【推荐第一种方法】

2)安装ImageMagick

[root@dev software]# tar -xzvf ImageMagick.tar.gz[root@dev software]# cd ImageMagick-7.0.2-0[root@dev ImageMagick-7.0.2-0]# ./configure --prefix=/usr/local/imagemagick[root@dev ImageMagick-7.0.2-0]# make && make install

[root@dev ImageMagick-7.0.2-0]# /Data/app/php5.6.26/bin/pecl install imagick

................Build process completed successfullyInstalling '/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/imagick.so'Installing '/Data/app/php5.6.26/include/php/ext/imagick/php_imagick_shared.h'install ok: channel://pecl.php.net/imagick-3.4.3RC1configuration option "php_ini" is not set to php.ini locationYou should add "extension=imagick.so" to php.ini

产生的imagick.so文件拷贝到/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226下在php.ini文件里添加imagick.so然后重启php加载imagick模块即可。使用/Data/app/php5.6.26/bin/php -m 命令查看加载的模块

二、安装php的imagick扩展模块第二种方法:(编译安装imagick)3)安装Imagick注:安装该扩展不要求安装ImageMagick[root@dev software]# tar -xzvf imagick-3.1.0RC1[root@dev software]# cd imagick-3.1.0RC1 [root@dev imagick-3.1.0RC1]# /Data/app/php5.6.26/bin/phpize         #这里,之前安装的php路径是/Data/app/php5.6.26,使用phpize生成configure编译文件[root@dev imagick-3.1.0RC1]# ./configure --with-php-config=/Data/app/php5.6.26/bin/php-config --with-imagick=/usr/local/imagemagick                                                                                                                           报错:checking for MagickWand.h header file... configure: error: Cannot locate header file MagickWand.h

解决办法:

查看imagick解压目录下的config.m4文件,发现ImageMagick在7.0.2高版本后的目录结构发生了变化所导致编译失败的。查看config.m4的第55,56行内容:[root@dev imagick-3.1.0RC1]# vim config.m4 ....... if test -r $WAND_DIR/include/ImageMagick/wand/MagickWand.h; then AC_MSG_RESULT(found in $WAND_DIR/include/ImageMagick/wand/MagickWand.h)..............................

对比ImageMagick安装目录结构:[root@dev include]# pwd/usr/local/imagemagick/include[root@dev include]# lsImageMagick-7[root@dev include]# ls ImageMagick-7/Magick++ MagickCore Magick++.h MagickWand

发现ImageMagick安装后目录结构和上面imagick的config.m4文件里的不一样需要做下软链接:[root@dev include]# ln -s ImageMagick-7 ImageMagick[root@dev include]# lsImageMagick ImageMagick-7[root@dev include]# cd ImageMagick[root@dev ImageMagick]# lsMagick++ MagickCore Magick++.h MagickWand[root@dev ImageMagick]# ln -s MagickWand wand[root@dev ImageMagick]# lsMagick++ MagickCore Magick++.h MagickWand wand

这样,再次编译imagick就成功了![root@dev imagick-3.1.0RC1]# ./configure --with-php-config=/Data/app/php5.6.26/bin/php-config --with-imagick=/usr/local/imagemagick.........checking dynamic linker characteristics... GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking whether stripping libraries is possible... yeschecking if libtool supports shared libraries... yeschecking whether to build shared libraries... yeschecking whether to build static libraries... no

creating libtoolappending configuration tag "CXX" to libtoolconfigure: creating ./config.statusconfig.status: creating config.h

                                                                                                                           [root@dev imagick-3.1.0RC1]# make && make install

                                                                                                             报错:make: *** [imagick_class.lo] 错误 1

解决:原因是没有找到pkgconfig路径

[root@dev imagick-3.1.0RC1]# find /usr -name pkgconfig/usr/lib64/pkgconfig/usr/share/pkgconfig/usr/local/lib/pkgconfig/usr/local/imagemagick/lib/pkgconfig/usr/local/include/libmemcached/lib/pkgconfig/usr/local/libmemcached/lib/pkgconfig

[root@dev imagick-3.1.0RC1]# export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig

然后再次make && make install

完整的流程是:[root@dev imagick-3.1.0RC1]# /Data/app/php5.6.26/bin/phpize [root@dev imagick-3.1.0RC1]# export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig[root@dev imagick-3.1.0RC1]# ./configure --with-php-config=/Data/app/php5.6.26/bin/php-config --with-imagick=/usr/local/imagemagick[root@dev imagick-3.1.0RC1]# make && make install=========================================================

make install执行结果显示:installing shared extensions: /Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/Installing header files: /Data/app/php5.6.26/include/php/

生成imagick.so到/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/

手动将imagick.so添加到php.ini文件里,[root@dev etc]# pwd/Data/app/php5.6.26/etc[root@dev etc]# vim php.ini............extension="/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/imagick.so"

然后重启php和nginx即可!

[root@dev etc]# /Data/app/php5.6.26/bin/php -m.....imagick

                                          php升级:由php5.5.1升级到php5.6.26                                        由于线上服务器最初部署的php环境版本是5.5.1,后续应开发需求,将其升级到5.6.26版本

下面附上自己的升级脚本:

[root@huanqiu_web1 software]# pwd/software/software

[root@huanqiu_web1 software]# ls                             #下载升级需要的软件ImageMagick.tar.gz    install_php.sh   memcached-2.2.0.tgz    php-5.6.26.tar.gz    php-wkhtmltox-master.zip

[root@huanqiu_web1 software]# cat install_php.sh               #升级脚本(下面编译时带的mysql参数,mysql安装后可以不启动,这里编译需要跟上mysql参数)#!/bin/bashcd /software/softwaretar -xvf php-5.6.26.tar.gzcd php-5.6.26./configure --prefix=/Data/app/php5.6.26 --with-curl --enable-mbstring --with-mysqli=/Data/app/mysql5.6.25/bin/mysql_config --with-mysql=/Data/app/mysql5.6.25/ --disable-rpath --enable-inline-optimization --with-pcre-regex --with-config-file-path=/Data/app/php5.6.26/etc/ --with-config-file-scan-dir=/Data/app/php5.6.26/etc/php.d --with-gd --enable-soap --with-pdo-mysql=/Data/app/mysql5.6.25/  --with-freetype-dir --with-png-dir --with-mcrypt --with-zlib --with-jpeg-dir --with-iconv=/usr/local/lib/ --enable-fpm

make && make install

###extension####cd /software/softwaretar -xvf ImageMagick.tar.gzcd ImageMagick-7.0.2-0./configuremakemake install/Data/app/php5.6.26/bin/pecl install imagick

cd /software/softwaretar -xvf memcached-2.2.0.tgzcd memcached-2.2.0/Data/app/php5.6.26/bin/phpize./configure --with-php-config=/Data/app/php5.6.26/bin/php-configmake && make install

cd /software/softwareunzip php-wkhtmltox-master.zipcd php-wkhtmltox-master/Data/app/php5.6.26/bin/phpize./configure --with-php-config=/Data/app/php5.6.26/bin/php-configmake && make install

cd /software/software/php-5.6.26/ext/sockets/Data/app/php5.6.26/bin/phpize./configure --with-php-config=/Data/app/php5.6.26/bin/php-configmake && make install

cd /software/software/php-5.6.26/ext/bcmath/Data/app/php5.6.26/bin/phpize./configure --with-php-config=/Data/app/php5.6.26/bin/php-configmake && make install

cd /software/software/php-5.6.26/ext/gettext/Data/app/php5.6.26/bin/phpize./configure --with-php-config=/Data/app/php5.6.26/bin/php-configmake && make install

cd /software/software/php-5.6.26/ext/opensslmv config0.m4 config.m4/Data/app/php5.6.26/bin/phpize./configure --with-php-config=/Data/app/php5.6.26/bin/php-configmake && make install

cp /Data/app/php5.5.1/etc/php-fpm.conf /Data/app/php5.6.26/etc/cp /Data/app/php5.5.1/etc/php.ini /Data/app/php5.6.26/etc/

sed -i 's#/Data/app/php5.5.1/lib/php/extensions/no-debug-non-zts-20121212/#/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/#g' /Data/app/php5.6.26/etc/php.ini

sed  -i '/memcached.so/i extension="/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/imagick.so"' /Data/app/php5.6.26/etc/php.ini



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭